1. Field of the Invention
The present invention relates to a demodulating device, a demodulating method and supply medium and more particularly to a demodulating device, a demodulating method and supply medium for reproducing data by demodulating data modulated suitably for data transmission or recording on a record medium.
2. Description of Related Art
When data is transmitted on a predetermined transmission path or recorded on a record medium such as a magnetic disk, an optical disk, a magneto-optic disc or the like, data is modulated to be suitable for transmission or recording. As one of such modulation methods, block coding is known. According to the block coding, a data string is blocked in a unit comprising mxc3x97i bits (hereinafter, simply referred to as data word) and the data word is converted into a data word comprising nxc3x97i bits in accordance with a pertinent code rule. Further, a code becomes a fixed length code when xe2x80x9cixe2x80x9d is equal to 1 and becomes a variable length code when a plurality of xe2x80x9cixe2x80x9d""s can be selected, that is, when the code is converted by selecting a predetermined one of xe2x80x9ci xe2x80x9d in a range of xe2x80x9cixe2x80x9d""s of 1 through imax (maximumxe2x80x9cixe2x80x9d). The block-coded code is represented as a variable length code (d,k;m,n;r).
In this case, xe2x80x9cixe2x80x9d is referred to as a constraint length and imax is referred to as a maximum constraint length xe2x80x9crxe2x80x9d. Further, a minimum run xe2x80x9cdxe2x80x9d indicates a minimum number of consecutive xe2x80x9c0xe2x80x9d""s put between consecutive xe2x80x9c1xe2x80x9d""s in a code series and a maximum run xe2x80x9ckxe2x80x9d indicates a maximum number of consecutive xe2x80x9c0xe2x80x9d""s put between consecutive xe2x80x9c1xe2x80x9d""s in a code series.
In a compact disk, a mini disk or the like, there is carried out NRZI (Non Return to Zero Inverted) modulation in which the variable length code provided as described above is inverted with xe2x80x9c1xe2x80x9d and is not inverted with xe2x80x9c0xe2x80x9d and a variable length code which has been subjected to NRZI modulation (hereinafter, NRZI-modulated variable length code is referred to as level code) is recorded.
Further, when there is carried out inverse NRZI modulation in which the level code is set to xe2x80x9c1xe2x80x9d when the level code is inverted from xe2x80x9c1xe2x80x9d to xe2x80x9c0xe2x80x9d or from xe2x80x9c0xe2x80x9d to xe2x80x9c1xe2x80x9d, that is, when the level code constitutes an edge, a code string the same as original EFM code or RLL (1-7) code can be provided. The inverse NRZI code string is referred to as edge code.
When a minimum inversion interval of the level code is designated by notation Tmin and a maximum inversion interval thereof is designated by notation Tmax, in order to carry out high density recording in a linear velocity direction, the longer the minimum inversion interval Tmin, that is, the larger the minimum run d, the better, further, in view of reproducing clocks, the shorter the maximum inversion interval Tmax, that is, the smaller the maximum run k, the more preferable and various modulation methods have been proposed.
Specifically, there is provided RLL (Run Length Limited Code) (2-7) as a modulation system used in, for example, a magnetic disk, a magnet-optical disk or the like. Parameters of the modulation system is (2,7;1,2;4). When a bit interval of the level code is designated by notation T, the minimum inversion interval Tmin calculated by (d+1)T becomes 3T from (2+1)T. When a bit interval of the data string is designated by notation Tdata, the minimum inversion interval Tmin becomes 1.5Tdata from (m/n)xc3x97Tmin=(xc2xd)xc3x973. Further, the maximum inversion interval Tmax calculated by (k+1)T becomes 8(=7+1)T((=(m/n)xc3x97Tmax)Tdata=(xc2xd)xc3x978Tdata=4.0Tdata). Further, a detection window width Tw calculated by (m/n)T becomes 0.5(=xc2xd)Tdata.
Otherwise, for example, there is RLL(1-7) as a modulation system used in recording of a magnetic disk, a magneto-optic disc or the like. Parameters of the modulation system are (1,7;2,3;2) and the minimum inversion interval Tmin becomes 2(=1+1)T(=⅔xc3x972Tdata=1.33Tdata). Further, the maximum inversion interval Tmax becomes 8(=7+1)T(=⅔xc3x978Tdata=5.33Tdata). Further, the detection window width Tw becomes 0.67(=⅔)Tdata.
When RLL(2-7) is compared with RLL(1-7), for example, in a magnetic disk system or a magnet-optical disk system, in order to increase a record density in the linear velocity direction, RLL(2-7) having the minimum inversion interval Tmin of 1.5Tdata is more preferably than RLL(1-7) having the minimum inversion interval Tmin of 1.33 Tdata. However, actually, RLL(1-7) having larger detection window width Tw and having a large allowance amount in respect of jitter is used more frequently than RLL(2-7).
The conversion table of RLL(1-7) code is, for example, a table shown by Table 1.
A symbol xe2x80x9cxxe2x80x9d in the conversion table is given xe2x80x9c1xe2x80x9d when a subsequent channel bit is xe2x80x9c0xe2x80x9d and given xe2x80x9c0xe2x80x9d when the subsequent channel bit is xe2x80x9c1xe2x80x9d. The maximum constraint length xe2x80x9crxe2x80x9d is 2.
Further, the conversion table of RLL(2-7) code having the minimum run xe2x80x9cdxe2x80x9d of 2 and the maximum inversion interval Tmax of 8T (maximum run 7) is, for example, a table shown by
The maximum constraint length xe2x80x9crxe2x80x9d is 4.
Meanwhile, according to a channel bit string modulated by RLL(1-7), the occurrence frequency of 2T which is Tmin is the largest and followed by 3T and 4T. When much of edge information such as 2T or 3T is produced at early periods, it is preferable for reproducing clocks, however, when 2T""s continue, a distortion is liable to cause in the record waveform (waveform output of 2T is small and susceptible to influence by defocusing or tangential tilt). Further, recording with high line density where minimum marks continue, is suspectible to influence of disturbance such as noise or the like and data reproduction error is liable to cause.
Hence, the applicant has proposed to restrict Tmin""s from continuing by a predetermined number of times or more in Japanese Patent Application No. 9-133379 and the conversion table of the code is, for example, a table shown by Table 3.
The symbol xe2x80x9cxxe2x80x9d in the conversion table is given xe2x80x9c1xe2x80x9d when a subsequent channel bit is xe2x80x9c0xe2x80x9d and is given xe2x80x9c0xe2x80x9d when the subsequent channel bit is xe2x80x9c1xe2x80x9d. The maximum constraint length xe2x80x9crxe2x80x9d is 3.
According to the conversion used in Table 3, in the case in which the data string becomes xe2x80x9c10xe2x80x9d, when subsequent 4 data are referred and the total 6 data string becomes xe2x80x9c100110xe2x80x9d, a code xe2x80x9c100 000 010xe2x80x9d for restricting repetition of the minimum run xe2x80x9cdxe2x80x9d is given. A number of the repetition of the minimum run xe2x80x9cdxe2x80x9d of the code provided by the conversion is 5 at maximum.
When the conversion using Table 3 is compared with RLL (1-7) of Table 1, although the minimum run xe2x80x9cdxe2x80x9d, the maximum run xe2x80x9ckxe2x80x9d, the basic data length xe2x80x9cmxe2x80x9d and the basic code length xe2x80x9cnxe2x80x9d remain the same, the constraint length xe2x80x9crxe2x80x9d is increased from 2 to 3. This indicates that a maximum size of the table is increased and indicates that there is a possibility of increasing demodulation error propagation when, for example, bit shift error is caused in demodulation.
The bit shift error is an error in which xe2x80x9c1xe2x80x9d representing an edge in a code string is shifted forwardly or rearwardly by 1 bit. The error propagation is represented by, for example, a number of bits from start of error to finish of error of demodulation error which is caused when a code string in which an error is caused at one location thereof by the bit shift error is decoded as it is.
The bit shift error is a mode of error which is most frequently caused in reproducing data in an actual recording/reproducing device. Further, it has been confirmed that the error is caused mainly at a vicinity of the minimum run xe2x80x9cdxe2x80x9d.
Further, when the variable length code (d,k;m,n;r) is, for example, a variable length (2,7;1,2;5), a conversion table in which the minimum run xe2x80x9cdxe2x80x9d of xe2x80x9c0xe2x80x9d""s is set to 2 bits, the maximum run xe2x80x9ckxe2x80x9d of xe2x80x9c0xe2x80x9d""s is set to 7 bits, the basic data length xe2x80x9cmxe2x80x9d is set to 1 bit, the basic code length xe2x80x9cnxe2x80x9d is set to 2 bits and the maximum constraint strength xe2x80x9crxe2x80x9d is set to 5, is, for example, a conversion table shown by FIG. 4.
The maximum constraint length xe2x80x9crxe2x80x9d is 5.
According to the conversion using the conversion table shown by Table 4, in the case in which the data string becomes xe2x80x9c010xe2x80x9d, when consecutive 2 data are referred and the total 5 data string becomes xe2x80x9c01001xe2x80x9d, by giving a code xe2x80x9c0000100100xe2x80x9d for restricting repetition of the minimum run xe2x80x9cdxe2x80x9d, a number of repetition of the minimum run xe2x80x9cdxe2x80x9d of a code provided by the conversion is 4 at maximum.
When the processing of Table4 is compared with RLL(2-7) of Table 2, although the minimum run xe2x80x9cdxe2x80x9d, the maximum run xe2x80x9ckxe2x80x9d, the basic data length xe2x80x9cmxe2x80x9d and the basic code length xe2x80x9cnxe2x80x9d remain the same, the maximum constraint length xe2x80x9crxe2x80x9d is increased from 4 to 5. This indicates that the maximum size of table is increased and indicates that there is a possibility of increasing demodulation error propagation when a bit shift error is caused in, for example, demodulation.
As other run length restricting code, there are codes provided by, for example, conversion tables of Table 5 and Table 6 proposed by the applicant in Japanese Patent Application No. 10-150280. The code provided by the conversion tables of Table 5 and Table 6 is RLL(1, 7) code and is a modulation code restricting continuation of the minimum run xe2x80x9cdxe2x80x9d and given a rule to corresponding elements of data word and code word.
According to Table 5, the minimum run xe2x80x9cdxe2x80x9d is 1, the maximum run xe2x80x9ckxe2x80x9d is 7 and an element in the conversion table is provided with indeterminate codes. According to the indeterminate code, whether it is xe2x80x9c0xe2x80x9d or xe2x80x9c1xe2x80x9d is determined to protect the minimum run xe2x80x9cdxe2x80x9d and the maximum run xe2x80x9ckxe2x80x9d regardless of code word strings immediately therebefore and immediately thereafter. That is, in the processing utilizing the conversion table of FIG. 5, when 2 bits of a data string to be converted is (11), xe2x80x9c000xe2x80x9d or xe2x80x9c101xe2x80x9d is selected depending on a code word string immediately therebefore, when a 1 channel bit of a code word string immediately therebefore is xe2x80x9c1xe2x80x9d, to protect the minimum run xe2x80x9cdxe2x80x9d (11) is converted into xe2x80x9c000xe2x80x9d and when a 1 channel bit of a code word string immediately therebefore is xe2x80x9c0xe2x80x9d, (11) is converted into xe2x80x9c101xe2x80x9d to thereby protect the maximum run xe2x80x9cdxe2x80x9d.
The conversion table of Table 5 is of a variable length structure. That is, conversion codes with the constraint length xe2x80x9cixe2x80x9d of 1 are constituted by 3 of them which are fewer than a necessary number of four (2{circumflex over ( )}(mxc3x97i)=2{circumflex over ( )}(2xc3x971)=4) thereof. As a result, in converting a data string, there exists a data string which cannot be converted only with the constraint strength xe2x80x9cixe2x80x9d of 1. As a result, according to Table 5, in order to deal with all of data strings, that is, in order to constitute a conversion table, the table up to the constraint strength xe2x80x9cixe2x80x9d of 3 needs to refer to.
Further, the conversion table of Table 5 is provided with a substitution code for restricting continuation of minimum run in the conversion table. That is, when a data string is (110111), according to a processing using the conversion table of Table 5, a subsequent code word string is referred to and when the subsequent code word string is xe2x80x9c010xe2x80x9d, the code is replaced by xe2x80x9c001 000 000xe2x80x9d. When the subsequent code word string is other than xe2x80x9c010xe2x80x9d, the table conversion is carried out as xe2x80x9c*0*010*0*xe2x80x9d.
Thereby, according to a code word string after data conversion, continuation of the minimum run xe2x80x9cdxe2x80x9d is restricted and the minimum run xe2x80x9cdxe2x80x9d is repeated by 6 times at maximum.
Further, the conversion table of Table 5 is provided with a conversion rule in which surpluses of a number of xe2x80x9c1xe2x80x9d""s in elements of a data string divided by 2 and a number of xe2x80x9c1xe2x80x9d""s in elements of a converted code word string, are equally 1 or 0. For example, an element (000001) in a data string corresponds to a code word string of xe2x80x9c010 100 100xe2x80x9d and according to respective numbers xe2x80x9c1xe2x80x9d""s thereof, the number is 1 in the data string and 3 in the corresponding code word string and surpluses produced by dividing these by 2 are equally 1. Similarly, an element (000000) of a data string corresponds to xe2x80x9c010 100 000xe2x80x9d of a code word string and according to respective numbers xe2x80x9c1xe2x80x9d thereof, the number is 0 in the data string and the number is 2 in the corresponding code word string and surpluses produced by dividing these by 2 are equally 0.
Further, according to the conversion table of Table 5, the maximum constraint length xe2x80x9crxe2x80x9d is 4. Conversion code having the constraint strength xe2x80x9cixe2x80x9d of 4 is provided with the substitution code to realize the maximum run xe2x80x9ckxe2x80x9d of 7.
The conversion table of Table 6 is of a structure having the minimum run xe2x80x9cdxe2x80x9d of 1, the maximum run xe2x80x9ckxe2x80x9d of 7 and 4 (2{circumflex over ( )}(mxc3x97i)=2{circumflex over ( )}(2xc3x971)=4) of conversion codes in the case of the constraint length xe2x80x9cixe2x80x9d of 1. That is, the conversion table of Table 6 is of a structure in which a main table is constituted with the constraint strength xe2x80x9cixe2x80x9d of 1 and by increasing the constraint length xe2x80x9cixe2x80x9d, the minimum run xe2x80x9cdxe2x80x9d and the maximum run xe2x80x9ckxe2x80x9d and the like are restricted. According to the conversion table of Table 6, a substitution code for restricting the minimum run xe2x80x9cdxe2x80x9d to 1 is provided with the constraint length xe2x80x9cixe2x80x9d of 2, a substitution code for restricting the maximum run xe2x80x9ckxe2x80x9d to 8 is provided with the constraint length xe2x80x9cixe2x80x9d of 3, further, a substitution code for restricting continuation of the minimum run xe2x80x9cdxe2x80x9d which is 1 is provided and a substitution code for restricting the maximum run xe2x80x9ckxe2x80x9d to 7 is provided with the constraint length xe2x80x9cixe2x80x9d of 4. The maximum constraint length xe2x80x9cixe2x80x9d is 4 in the conversion table of Table 6.
The conversion table of Table 6 is provided with the substitution code for restricting continuation of the minimum run xe2x80x9cdxe2x80x9d in the conversion table. That is, In a processing using the conversion table of Table 6, for example, a data string (00010001) is replaced by xe2x80x9c100010010010xe2x80x9d and in the case of a data string (10010001), a code word string immediately therebefore is referred to and the data string is replaced by selecting a conversion code depending on whether it is xe2x80x9c0xe2x80x9d or xe2x80x9c1xe2x80x9d. According to the processing using the conversion table of Table 6, when a code word string immediately therebefore is xe2x80x9c0xe2x80x9d. xe2x80x9c100000010010xe2x80x9d is selected when it is xe2x80x9c1xe2x80x9d, xe2x80x9c000010010010xe2x80x9d is selected. Thereby, according to a code word string after data conversion, continuation of the minimum run xe2x80x9cdxe2x80x9d is restricted and the minimum run xe2x80x9cdxe2x80x9d is repeated by 6 times at maximum.
Further, the conversion table of Table 6 is provided with the conversion rule in which surpluses of a number of xe2x80x9c1xe2x80x9d""s in elements of a data string divided by 2 and a number of xe2x80x9c1xe2x80x9d""s in elements of a converted code word string divided by 2, are equally 1 or 0. For example, an element (1000) in a data string corresponds to a code word string of xe2x80x9c000010xe2x80x9d and according to respective numbers of xe2x80x9c1xe2x80x9d thereof, the number is 1 in the data string and the number is 1 in the corresponding code word string and surpluses of these divided by 2 are equally 1. Similarly, an element (111111) in a data string corresponds to a code word string of xe2x80x9c000010010xe2x80x9d and according to respective numbers of xe2x80x9c1xe2x80x9d""s thereof, the number is 6 in the data string and the number is 2 in the corresponding code word string and surpluses of these divided by 2 are equally 0.
Further, the conversion table of Table 6 is provided with substitution codes for realizing the maximum run xe2x80x9ckxe2x80x9d of 7 in conversion codes with the maximum constraint length xe2x80x9cixe2x80x9d of 4. In this case, according to a processing using the conversion table of Table 6, in order to carry out the conversion, a code word string immediately therebefore is referred to and when it is xe2x80x9c010xe2x80x9d, the substitution is executed.
Meanwhile, in recording on a record medium and transmission of data, coding modulation suitable for respective medium (transmission) is carried out. When direct current components are included in the modulation codes, a variation is liable to cause in various error signals such as a tracking error in servo control of a disk device or jitter is liable to cause. Therefore, it is preferable to include the direct current components as less as possible.
DSV (Digital Sum Value) signifies a total sum when a channel bit string is converted into NRZI (That is, level code) and xe2x80x9c1xe2x80x9d in the bit string (symbol of data) is set to +1 and xe2x80x9c0xe2x80x9d thereof is set to xe2x88x921 and codes are added. DSV constitutes a measure of direct current components of a code string. By reducing an absolute value of DSV, that is, by carrying out DSV control, the direct current components of the code string are restrained.
In this case, in data conversion by conversion tables shown by Table 1 through Table 4, the data conversion per se cannot execute DSV control.
DSV control in such a case is realized by carrying out DSV calculation at predetermined intervals in a channel bit string after data conversion and inserting predetermined DSV control bits in the channel bit string.
Meanwhile, a channel bit string converted from a data string in accordance with Table 5 and Table 6 can be controlled similarly by DSV control at predetermined intervals and according to examples of Table 5 and Table 6, by utilizing a relationship between a data string and a converted code word string, the DSV control can be carried out further efficiently.
That is, when the conversion table is provided with the conversion rule in which surpluses of a number of xe2x80x9c1xe2x80x9d""s in elements of a data string divided by 2 and a number of xe2x80x9c1xe2x80x9d""s in elements of a converted code word string, are equally 1 or 0, insertion of a DSV control bit of xe2x80x9c1xe2x80x9d representing xe2x80x9cinversionxe2x80x9d or xe2x80x9c0xe2x80x9d representing xe2x80x9cnon-inversionxe2x80x9d, is equivalent to inserting a DSV control bit of xe2x80x9c1xe2x80x9d in a data bit string in the case of xe2x80x9cinversionxe2x80x9d and inserting a DSV control bit of xe2x80x9c0xe2x80x9d thereto in the case of xe2x80x9cnon-inversionxe2x80x9d.
For example, when in data conversion using the conversion table of Table 5, 3 bits for data conversion are consecutive as xe2x80x9c001xe2x80x9d and a DSV control bit is determined to insert thereafter, data conversion becomes (001xe2x88x92x) (x is 1 bit equal to 0 or 1). When xe2x80x9c0xe2x80x9d is given to x, the conversion table of Table 5 is as shown by Table 7.
Further, when xe2x80x9c1xe2x80x9d is given to x, the conversion table of Table 5 is as shown by Table 8.
When the code word string is converted into a level code by NRZI encoding, the conversion table of Table 7 and the con version table of Table 8 become as shown by Table 9.
Final 3 bits in the level code string are mutually inverted. That is, by selecting xe2x80x9c1xe2x80x9d and xe2x80x9c0xe2x80x9d of the DSV control bits x, the DSV control can be executed even in the data string.
Considering a degree of redundancy in DSV control, execution of DSV control by 1 bit in a data string corresponds to execution of DSV control by 1.5 channel bit when expressed by a channel bit string since the basic data length xe2x80x9cmxe2x80x9d is 2 and the basic code length xe2x80x9cnxe2x80x9d is 3 in Table 5 and Table 6. In this case, for example, in order to execute DSV control in RLL(1-7) table as in Table 1, DSV control is executed in a channel bit string and to protect the minimum run xe2x80x9cdxe2x80x9d, at least 2 channel bits are needed and the degree of redundancy is further increased.
According to conversion using the conversion tables of Table 5 and Table 6, DSV control can be executed in a data string and accordingly, the efficiency is excellent. According to codes converted by the conversion tables of Table 5 and Table 6, the DSV control can be executed and further, repetition of the minimum run xe2x80x9cdxe2x80x9d is restricted and therefore, they are codes suitable for high line density recording and reproducing.
Meanwhile, when codes converted by the conversion tables of Table 5 and Table 6 are compared with RML17 code of Table 3, although the minimum run xe2x80x9cdxe2x80x9d, the maximum run xe2x80x9ckxe2x80x9d, the basic data length xe2x80x9cmxe2x80x9d and the basic code length xe2x80x9cnxe2x80x9d stay the same, the maximum constraint length xe2x80x9crxe2x80x9d becomes larger from 3 to 4. In other words, this indicates that the maximum size of the table becomes larger and indicates that when bit shift error is caused in, for example, demodulating, there is a possibility of increasing error propagation. Naturally, the smaller the error propagation, the better.
As described above, there poses a problem in which in the case where a record medium of a magnetic disk, a magneto-optical disc, an optical disk or the like is subjected to high density formation and RLL code having the minimum run xe2x80x9cdxe2x80x9d of 1 or more and having a large minimum mark length is selected as modulation code, when there is selected Table 5 or Table 6 for codes suitable for higher density recording and reproducing by restraining occurrence of error by reducing distortion in recording and reproducing and improving the efficiency of DSV control, in the case of a code having the large maximum constraint length xe2x80x9crxe2x80x9d, error propagation after error is caused is increased.
The present invention has been carried out in view of such a situation for reducing error propagation by a simpler constitution when bit shift error is caused.
According to an aspect of the present invention, there is provided a demodulating device for demodulating a code (d,k;m,n;r) having a minimum run of 1 or more and a basic code length of n bits and including a run length restriction code into data having a basic data length of m bits, the demodulating device comprising constraint length specifying means for specifying a constraint length of the code having a predetermined length including an error and demodulating means for demodulating the code based on the constraint length specified by the constraint length specifying means.
According to another aspect of the present invention, there is provided a demodulating method for demodulating a code (d,k;m,n;r) having a minimum run of 1 or more and a basic code length of n bits and including a run length restriction code into data having a basic data length of m bits, the demodulating method comprising a constraint length specifying step of specifying a constraint length of the code having a predetermined length including an error and a demodulating step of demodulating the code based on the constraint length specified at the constraint length specifying step.
According to another aspect of the present invention, there is provided a supply medium for supplying a demodulating device for demodulating a code (d,k;m,n;r) having a minimum run of 1 or more and a basic code length of m bits and including a run length restriction code into data having a basic data length of n bits, with a computer-readable program for executing a processing including a constraint length specifying step of specifying a constraint length of the code having a predetermined length including an error and a demodulating step of demodulating the code based on the constraint length specified at the constraint length specifying step.
According to another aspect of the present invention, there is provided a demodulating device for demodulating a code (d,k;m,n;r) having a minimum run of 1 or more and a basic code length of n bits and including a run length restriction code into data having a basic data length of m bits, the demodulating device comprising demodulating means for demodulating the code by using a demodulation table in correspondence with a code having a predetermined length including an error.
According to another aspect of the present invention, there is provided a demodulating method for demodulating a code (d,k;m,n;r) having a minimum run of 1 or more and a basic code length of n bits and including a run length restriction code into data having a basic data length of m bits, the demodulating method comprising a demodulating step of demodulating the code by using a demodulation table in correspondence with a code having a predetermined length including an error.
According to another aspect of the present invention, there is provided a supply medium for supplying a demodulating device for demodulating a code (d,k;m,n;r) having a minimum run of 1 or more and a basic code length of m bits and including a run length restriction code into data having a basic data length of n bits, with a computer-readable program for executing a processing including a demodulating step of demodulating the code by using a demodulation table in correspondence with a code having a predetermined length including an error.
According to the demodulating device, the demodulating method and the supply medium of the above-described aspects of the invention, the constraint length of the code having the predetermined length including the error is specified and the code is demodulated based on the specified constraint length.
According to the demodulating device, the demodulating method and the supply medium of the above-described aspects of the invention, the code is demodulated by using the demodulation table in correspondence with the code having the predetermined length including the error.